Robot클래스로 Application 테스트프로그램 만들기 :: 자바예제모음[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

자바예제모음
[1]
등록일:2008-04-15 16:52:37 (0%)
작성자:
제목:Robot클래스로 Application 테스트프로그램 만들기
Robot클래스


JDK1.3  부터  추가된  클래스  입니다.  java.awt.Robot에  위치하며,  자바로  작성된  애플리케이션  프로그램을  테스트  할수  있도록  마우스와  키보드의  입력을  프로그램  상의로  제어  할수  있는  클래스  입니다.  사용방법은  간단합니다.  우선  마우스를  스크린  화면상  좌표(200,200)으로  이동시키려고  한다면  다음과  코드를  사용하면  됩니다.

  

//마우스를  화면절대좌표(200,200)으로  이동시키는  코드
import  java.awt.*;
public  class  RobotTest
{
    public  RobotTest()
    {
        try
        {
            Robot  robot  =  new  Robot();
            robot.mouseMove(200,  200);
        }
        catch  (AWTException  ae)
        {
            ae.printStackTrace();
        }
    }

    public  static  void  main(String[]  args)
    {
        new  RobotTest();
        System.exit(0);
    }
}

  

이외에도  다음과  같은  키보드와  마우스를  제어할  수  있는  메소드들이  존재합니다.
public  void  mousePress(int  buttons)
마우스버튼이  눌려져  있는  상태로  만듭니다.
파라미터:InputEvent.BUTTON1_MASK,  InputEvent.BUTTON2_MASK,InputEvent.BUTTON3_MASK  가  사용되며,하나  또는  하나이상의  플래그(파라미터)를  결합해서  사용할수  있습니다.

public  void  mouseRelease(int  buttons)
마우스  버튼이  눌려져  있지  않은  상태로  만듭니다.
mousePress와  파라미터는  동일합니다.

public  void  keyPress(int  keycode)
해당  키(keycode)가  눌려져  있는  상태로  만듭니다.
파라미터:  VK_..    가상키코드가  해당됩니다.

public  void  keyPress(int  keycode)
해당키(keycode)가  눌려져  있지  않은  상태로  만듭니다.
파라미터는  keyPress와  동일합니다.


//  메모장을  띄운후,  Hello  글자를  입력한후,  모든  글자를  선택하고  오른쪽  마우스를
//  클릭해서,  서브메뉴  호출하는  Robot클래스를  이용한  예제
import  java.awt.*;
import  java.awt.event.*;

public  class  RobotTestII
{
    public  RobotTestII()
    {
        int  keyInput[]  =
                                          {
                                          KeyEvent.VK_H,
                                          KeyEvent.VK_E,
                                          KeyEvent.VK_L,
                                          KeyEvent.VK_L,
                                          KeyEvent.VK_O
        };

        try
        {
            //  notepad  프로그램  활성화
            Runtime.getRuntime().exec("notepad");
            Robot  robot  =  new  Robot();
            //  Hello글자  입력
            for(int  i=0;  i<keyInput.length;  i++)
            {
                robot.keyPress(keyInput[i]);
                robot.keyRelease(keyInput[i]);
                //현재  해당  쓰레드를  200ms  동안  sleep시킨다.
                robot.delay(200);
            }

            //  메모장에  입력한  글자를  모두  선택한다.
            robot.keyPress(KeyEvent.VK_CONTROL);
            robot.keyPress(KeyEvent.VK_A);
            robot.keyRelease(KeyEvent.VK_CONTROL);
            robot.keyRelease(KeyEvent.VK_A);

            //현재  해당  쓰레드를  500ms  동안  sleep시킨다.
            robot.delay(500);
            //  마우스  오른쪽  버튼  클릭
            robot.mousePress(InputEvent.BUTTON3_MASK);
            robot.mouseRelease(InputEvent.BUTTON3_MASK);

        }
        catch  (AWTException  ae)
        {
            ae.printStackTrace();
        }
        catch  (java.io.IOException  ex)
        {
            ex.printStackTrace();
        }

    }

    public  static  void  main(String[]  args)
    {
        new  RobotTestII();
        System.exit(0);
    }

}
[본문링크] Robot클래스로 Application 테스트프로그램 만들기
[1]
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=7410
작성자
비밀번호

 

SSISOCommunity

[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.